package com.yangzheandroid.rxmvp.http;


public class HttpClientDemo {
    private String tag = HttpClientDemo.class.getSimpleName();

    private String keyword = "0000";

//    /**
//     * 单步请求: 由 HttpClients.subscribe 方法发起订阅
//     */
//    public void demo1() {
//        HttpClients.subscribe(HttpClients.stockService().search(keyword), new DefaultSubscriber<List<StockSearchBean>>() {
//            @Override
//            public void onNext(List<StockSearchBean> stockSearchBeen) {
//
//            }
//        });
//    }
//
//    /**
//     * 单步请求: 由原生 compose + subscribe 发起订阅
//     */
//    public void demo2() {
//        HttpClients.stockService()
//                .search(keyword)
//                .compose(HttpClients.<List<StockSearchBean>>defaultTransformer())
//                .subscribe(new DefaultSubscriber<List<StockSearchBean>>() {
//                    @Override
//                    public void onNext(List<StockSearchBean> stockSearchBeen) {
//
//                    }
//                });
//    }
//
//    /**
//     * 多步请求: 由 HttpClients.subscribe 方法发起订阅
//     */
//    public void demo3() {
//        Observable<HttpResult<Map<String, StockInfoBean>>> observable = HttpClients.stockService()
//                // 1. 构建搜索请求
//                .search(keyword)
//
//                // 2. 为 股票搜索方法 转换 http result
//                .map(HttpClients.<List<StockSearchBean>>httpResultFunction())
//
//                // 3. 根据搜索结果, 构建 股票行情报价 请求
//                .flatMap(new Func1<List<StockSearchBean>, Observable<HttpResult<Map<String, StockInfoBean>>>>() {
//                    @Override
//                    public Observable<HttpResult<Map<String, StockInfoBean>>> call(List<StockSearchBean> list) {
//
//                        String code = "";
//                        for (StockSearchBean searchBean : list) {
//                            code += "," + searchBean.getCode();
//                        }
//                        code = code.substring(1);
//
//                        Log.i(tag, code);
//
//                        return HttpClients.stockService().stockQuote(code);
//                    }
//                });
//
//        HttpClients.subscribe(observable, new DefaultSubscriber<Map<String, StockInfoBean>>() {
//            @Override
//            public void onNext(Map<String, StockInfoBean> map) {
//
//            }
//        });
//    }
//
//    /**
//     * 多步请求: 由原生 compose + subscribe 发起订阅
//     */
//    public void demo4() {
//        HttpClients.stockService()
//                // 1. 构建搜索请求
//                .search(keyword)
//
//                // 2. 为 股票搜索方法 转换 http result
//                .map(HttpClients.<List<StockSearchBean>>httpResultFunction())
//
//                // 3. 根据搜索结果, 构建 股票行情报价 请求
//                .flatMap(new Func1<List<StockSearchBean>, Observable<HttpResult<Map<String, StockInfoBean>>>>() {
//                    @Override
//                    public Observable<HttpResult<Map<String, StockInfoBean>>> call(List<StockSearchBean> list) {
//
//                        String code = "";
//                        for (StockSearchBean searchBean : list) {
//                            code += "," + searchBean.getCode();
//                        }
//                        code = code.substring(1);
//
//                        Log.i(tag, code);
//
//                        return HttpClients.stockService().stockQuote(code);
//                    }
//                })
//                .compose(HttpClients.<Map<String, StockInfoBean>>defaultTransformer())
//                .subscribe(new DefaultSubscriber<Map<String, StockInfoBean>>() {
//                    @Override
//                    public void onNext(Map<String, StockInfoBean> map) {
//
//                    }
//                });
//    }
}
